package com.ruoyi.project.system.farmer.service;

import java.text.ParseException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ruoyi.project.system.farmer.domain.Farmer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 农户管理Service接口
 * 
 * @author ssk
 * @date 2023-02-16
 */
public interface IFarmerService 
{
    /**
     * 查询农户管理
     * 
     * @param id 农户管理ID
     * @return 农户管理
     */
    public Farmer selectFarmerById(Integer id);

    /**
     * 查询农户管理列表
     * 
     * @param farmer 农户管理
     * @return 农户管理集合
     */
    public List<Farmer> selectFarmerList(Farmer farmer);

    /**
     * 新增农户管理
     * 
     * @param farmer 农户管理
     * @return 结果
     */
    public int insertFarmer(Farmer farmer) throws ParseException;

    /**
     * 修改农户管理
     * 
     * @param farmer 农户管理
     * @return 结果
     */
    public int updateFarmer(Farmer farmer) throws ParseException;

    /**
     * 批量删除农户管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteFarmerByIds(String ids);

    /**
     * 删除农户管理信息
     * 
     * @param id 农户管理ID
     * @return 结果
     */
    public int deleteFarmerById(Integer id);

    /**
     * 注销农户信息
     *
     * @param id 农户管理ID
     * @return 结果
     */
    public int logoutFarmerById(Integer id);

    /**
     * 转移户主
     *
     * @param fid,oldName,newName,str 参数
     * @return 结果
     */
    public int transferSave(String fid,String oldName, String newName,String str);

    /**
     * 转移户主
     *
     * @param id 农户管理ID
     * @return 结果
     */
//    public int transfer(Integer id);

    /**
     * 查询户人口数与关系
     *
     * @param id 农户管理ID
     * @return 结果
     */
    public HashMap selectNumShip(int id);

    /**
     * 查询家庭其他成员
     *
     * @param fid 户id
     * @return 农户信息集合
     */
    public List<Farmer> selectMember(String fid);

    /**
     * 校验身份证号
     */
    public int checkIdCardUnique(String idCard);

    /**
     * 查询农户个人信息
     *
     * @param name 农户姓名
     *
     */
    public Farmer getFarmerByName(String Name);

//    Farmer getFarmerByName(String name);
}
